package br.com.truta.bd.dao;

import static br.com.truta.bd.DBUtils.close;

import java.sql.Connection;
import java.sql.PreparedStatement;

import br.com.truta.bd.ConnectionFactory;
import br.com.truta.bd.DaoException;
import br.com.truta.model.Movimentacao;
import br.com.truta.util.Constantes;

public class MovimentacaoDAO {
	public static boolean insereMovimentacao(Movimentacao movimentacao) throws DaoException {
		PreparedStatement stmt = null;
		Connection con = null;
		boolean retorno = false;
		
		try {
			// Abre conexao com o BD User
			con = ConnectionFactory.getLocalMySQLConnection();
			
			//Prepara o Statement
			stmt = con.prepareStatement(Constantes.SQL_INSET_MOVIMENTACAO);
			
			//usuario, senha, nome, sobrenome, email
			stmt.setString(1, movimentacao.getTipoMovimentacao());
			stmt.setFloat(2, movimentacao.getValor());
			stmt.setDate(3, movimentacao.getData());
			stmt.setString(4, movimentacao.getObservacao());
			stmt.setInt(5, movimentacao.getIdTipoDespesa());
			stmt.setInt(6, movimentacao.getIdDespesa());
			stmt.setInt(7, movimentacao.getIdUsuario());

			stmt.executeUpdate();
			
			retorno = true;
		}catch (Exception e) {
			retorno = false;
			throw new DaoException("Erro ao insereMovimentacao", e);
		} finally {
			close(stmt, con);
		}
		return retorno;
	}

}
